home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / lib / python2.5 / lib-tk / tkFileDialog.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-29  |  5KB  |  158 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.5)
  3.  
  4. from tkCommonDialog import Dialog
  5.  
  6. class _Dialog(Dialog):
  7.     
  8.     def _fixoptions(self):
  9.         
  10.         try:
  11.             self.options['filetypes'] = tuple(self.options['filetypes'])
  12.         except KeyError:
  13.             pass
  14.  
  15.  
  16.     
  17.     def _fixresult(self, widget, result):
  18.         if result:
  19.             import os as os
  20.             
  21.             try:
  22.                 result = result.string
  23.             except AttributeError:
  24.                 pass
  25.  
  26.             (path, file) = os.path.split(result)
  27.             self.options['initialdir'] = path
  28.             self.options['initialfile'] = file
  29.         
  30.         self.filename = result
  31.         return result
  32.  
  33.  
  34.  
  35. class Open(_Dialog):
  36.     '''Ask for a filename to open'''
  37.     command = 'tk_getOpenFile'
  38.     
  39.     def _fixresult(self, widget, result):
  40.         if isinstance(result, tuple):
  41.             result = []([ getattr(r, 'string', r) for r in result ])
  42.             return result
  43.         
  44.         if not widget.tk.wantobjects() and 'multiple' in self.options:
  45.             return self._fixresult(widget, widget.tk.splitlist(result))
  46.         
  47.         return _Dialog._fixresult(self, widget, result)
  48.  
  49.  
  50.  
  51. class SaveAs(_Dialog):
  52.     '''Ask for a filename to save as'''
  53.     command = 'tk_getSaveFile'
  54.  
  55.  
  56. class Directory(Dialog):
  57.     '''Ask for a directory'''
  58.     command = 'tk_chooseDirectory'
  59.     
  60.     def _fixresult(self, widget, result):
  61.         if result:
  62.             
  63.             try:
  64.                 result = result.string
  65.             except AttributeError:
  66.                 pass
  67.  
  68.             self.options['initialdir'] = result
  69.         
  70.         self.directory = result
  71.         return result
  72.  
  73.  
  74.  
  75. def askopenfilename(**options):
  76.     '''Ask for a filename to open'''
  77.     return Open(**options).show()
  78.  
  79.  
  80. def asksaveasfilename(**options):
  81.     '''Ask for a filename to save as'''
  82.     return SaveAs(**options).show()
  83.  
  84.  
  85. def askopenfilenames(**options):
  86.     '''Ask for multiple filenames to open
  87.  
  88.     Returns a list of filenames or empty list if
  89.     cancel button selected
  90.     '''
  91.     options['multiple'] = 1
  92.     return Open(**options).show()
  93.  
  94.  
  95. def askopenfile(mode = 'r', **options):
  96.     '''Ask for a filename to open, and returned the opened file'''
  97.     filename = Open(**options).show()
  98.     if filename:
  99.         return open(filename, mode)
  100.     
  101.  
  102.  
  103. def askopenfiles(mode = 'r', **options):
  104.     '''Ask for multiple filenames and return the open file
  105.     objects
  106.  
  107.     returns a list of open file objects or an empty list if
  108.     cancel selected
  109.     '''
  110.     files = askopenfilenames(**options)
  111.     if files:
  112.         ofiles = []
  113.         for filename in files:
  114.             ofiles.append(open(filename, mode))
  115.         
  116.         files = ofiles
  117.     
  118.     return files
  119.  
  120.  
  121. def asksaveasfile(mode = 'w', **options):
  122.     '''Ask for a filename to save as, and returned the opened file'''
  123.     filename = SaveAs(**options).show()
  124.     if filename:
  125.         return open(filename, mode)
  126.     
  127.  
  128.  
  129. def askdirectory(**options):
  130.     '''Ask for a directory, and return the file name'''
  131.     return Directory(**options).show()
  132.  
  133. if __name__ == '__main__':
  134.     enc = 'utf-8'
  135.     import sys
  136.     
  137.     try:
  138.         import locale
  139.         locale.setlocale(locale.LC_ALL, '')
  140.         enc = locale.nl_langinfo(locale.CODESET)
  141.     except (ImportError, AttributeError):
  142.         pass
  143.  
  144.     openfilename = askopenfilename(filetypes = [
  145.         ('all files', '*')])
  146.     
  147.     try:
  148.         fp = open(openfilename, 'r')
  149.         fp.close()
  150.     except:
  151.         print 'Could not open File: '
  152.         print sys.exc_info()[1]
  153.  
  154.     print 'open', openfilename.encode(enc)
  155.     saveasfilename = asksaveasfilename()
  156.     print 'saveas', saveasfilename.encode(enc)
  157.  
  158.